﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace WindowsFormsApplication3
{
    class GestCategoria
    {
        public bool GrabarCategoria(CCategoria cat, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                //SqlCommand cmd;
                //String sql = "spInsertarCategoria";
                //cmd = new SqlCommand(sql, cnBiblioteca);
                //cmd.CommandType = System.Data.CommandType.StoredProcedure;
                //cmd.Parameters.Add("@Cod_Cat", System.Data.SqlDbType.Char).Value = cat.CodCat;
                //cmd.Parameters.Add("@Nom_Cat", System.Data.SqlDbType.VarChar).Value = cat.NomCat;
                //cmd.Parameters.Add("@Est_Cat", System.Data.SqlDbType.Bit).Value = cat.EstCat;
                SqlCommand cmd;
                String sql = "Insert into Categorias values(";
                sql += "'" + cat.CodCat + "',";
                sql += "'" + cat.NomCat + "',";
                sql += "'" + cat.EstCat + "')";
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }


        public bool ExisteCategoria(String Cod_Cat, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            SqlCommand cmd;
            SqlDataReader dr;
            String sql = "Select * From Categorias Where Cod_Cat = '" + Cod_Cat + "'";
            if (cnBiblioteca != null)
            {
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    dr = cmd.ExecuteReader();
                    if (dr.Read())
                        return true;
                    else
                        return false;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }

        public bool EliminarCategoria(CCategoria aut, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spEliminarCategoria";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Cat", System.Data.SqlDbType.Char).Value = aut.CodCat;
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }


        public bool ModificarAutor(CCategoria cat, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spActualizarCategoria";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Cat", System.Data.SqlDbType.Char).Value = cat.CodCat;
                cmd.Parameters.Add("@Nom_Cat", System.Data.SqlDbType.VarChar).Value = cat.NomCat;
                cmd.Parameters.Add("@Est_Cat", System.Data.SqlDbType.VarChar).Value = cat.EstCat;
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }
    }
}
